The following procedure should work in general, given any points. I am not
sure, whether we get the isometries as acting group.

$c = cube(3,1,0);
$d = simplex(2);
# Make product
$cd = product($c, $d);
# Take all lattice points
$pts = $cd->LATTICE_POINTS;
# Print lattice points as array
print "[\n[".join("],\n[", map(join(",",@$_), @$pts))."]\n]";
# Get group generators
$gp = linear_symmetries(new Matrix<Rational>($pts));
$gens = $gp->PERMUTATION_ACTION->GENERATORS;
print "[\n[".join("],\n[", map(join(",",@$_), @$gens))."]\n]";

Now one can copy the printout of pts and gens to a topcom input file.

To randomize use:
$c = cube(6,1,0);
use List::Util qw/shuffle/;
@vert = @{$c->VERTICES};
@vert = shuffle @vert;
$pts = new Matrix(@vert[0..17]);

Checking the total number of symmetries with topcom gives the following: (Count
+1 for identity)
c3xd2.dat: 287 symmetries in total. Same as in paper.
c3xd3.dat: 1151 symmetries in total. Same as in paper.
3d3.dat: 23 symmetries in total. Same as in paper.
4d3.dat: 23 symmetries in total. Same as in paper.

